package com.example.myapplication;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity extends AppCompatActivity {//MainActivity类继承自AppCompateActivity,这是Android支持库提供的一个兼容新旧版本的Activity基类
    //展示了如何在创建一个Activity时设置布局，并处理屏幕边缘化的系统栏（如状态栏和导航栏）对布局的影响。
    @Override//注解表明下面的方法重写了父类中的方法
    protected void onCreate(Bundle savedInstanceState) {//方法是Activity生命周期的一部分，当Activity首次被创建时调用，Bundle savedInstanceState参数用于恢复之前保存的状态，比如当Activity由于资源限制而被销毁之后重新创建时
        super.onCreate(savedInstanceState);//调用父类onCreate方法，执行一些初始化操作
        EdgeToEdge.enable(this);//启动边缘到边缘的局部支持，既让布局延伸到屏幕的边缘
        setContentView(R.layout.activity_main);//设置了Activity的用户界面布局文件为activity_main.xml,这是定义界面元素的地方

        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view)
            {
                Intent intent=new Intent();//创建意图对象
                intent.setClass(MainActivity.this,MainActivity2.class);//意图对象传递上下文
                startActivity(intent);//完成Activity的跳转
            }

    });

        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {//监听器，用于处理窗口插入的变化，通过这个监听器，可以动态地调整视图的内边距，确保即使在有系统栏的情况下，界面元素也能正确显示。
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());//获取系统栏占据的空间大小，然后将这些值作为视图的内边距，这样就能保证视图不会被系统栏遮挡。
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });
    }
}

